class Solution {
public:
    int uniqueMorseRepresentations(vector<string>& words) {
        map<string, int> m;
        vector<string> s = {".-",   "-...", "-.-.", "-..",  ".",    "..-.",
                            "--.",  "....", "..",   ".---", "-.-",  ".-..",
                            "--",   "-.",   "---",  ".--.", "--.-", ".-.",
                            "...",  "-",    "..-",  "...-", ".--",  "-..-",
                            "-.--", "--.."};
        for (int i = 0; i < words.size(); i++) {
            string sh;
            for (int j = 0; j < words[i].size(); j++) {
                char c = words[i][j];
                // string temp=s[c-'a'];
                sh += s[c - 'a'];
            }
            m[sh]++;
        }
        int result = m.size();
        return result;
    }
};
